"""
如果我们把 请求和响应，脚本执行以及参数化的代码 写在一个模块下，会显示不方便管理
另外如果接口文档随着 需求的变更而更新，会造成我们要修改很多的用例。
所以我们把请求和响应单独封装起来
类
    属性
        url
    方法
        发送请求获取响应
"""
import config
import requests

class LoginAPI:
    #初始化方法
    def __init__(self):
        # 定义对象属性 self.属性名 = 值
        self.login_url = config.BASE_URL + 'api/sys/login'
        # 定义城市列表的url属性
        self.city_url = config.BASE_URL + 'api/sys/city'
        # 定义用户资料的url属性
        self.profile_url = config.BASE_URL + 'api/sys/profile'
    #实现登录的请求和响应
    def login(self,json_data):
        # 在类的内部，使用属性
        response = requests.post(self.login_url,json=json_data)
        return response  #记得返回响应
    #实现获取城市列表数据
    def get_city_list(self):
        response = requests.get(self.city_url)
        return response
    #实现用户资料的获取
    def get_user_info(self):
        from api.token import get_headers
        headers = get_headers()
        #3. 发送请求获取响应
        response = requests.post(self.profile_url,headers=headers)
        return response

